package com.yelobblog.yelobblog.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yelobblog.yelobblog.domain.Vo.dialogueGroupVo;
import com.yelobblog.yelobblog.domain.entity.agent;
import com.yelobblog.yelobblog.domain.entity.dialogue;
import com.yelobblog.yelobblog.domain.entity.dialogueGroup;
import reactor.core.publisher.Flux;

public interface agentService {
    Page<agent> getAgentList(Integer pageNum, Integer pageSize);

    agent getAgentById(Integer id);

    Page<agent> getAgentByUserId(Integer userId, Integer pageNum, Integer pageSize);

    void addAgent(agent agent);

    void updateAgent(agent agent);

    Page<dialogueGroupVo> getDialogueGroupByAgentId(Integer agentId, Integer pageNum, Integer pageSize);


    Integer addDialogueGroup(dialogueGroup dialogueGroup);

    void deleteDialogueGroup(Integer id);

    Page<dialogue> getDialogueByGroupId(Integer groupId, Integer pageNum, Integer pageSize);

    void addDialogue(String content, Integer groupId);


    Flux<String> handleAiRequest(String prompt, Integer groupId);
}
